feat: restructured components and added a few more#4
Merged
Conversation
…with improved status updates and cleanup of Bootstrap files.
…nfig to ensure compatibility with latest features and improvements.
…mprove consistency across demos; enhance layout and structure for better readability.
…ew SVG assets for light and dark UI modes, enhancing visual consistency and accessibility.
…g, and layout structure; add Tailwind CSS configuration and sample data for weather component.
…ng consistency; add new components including AlertDialog, Calendar, and various Card elements to enhance UI functionality.
…epper, Tab, and User to enhance component functionality and structure in ShellUI.Components.
… Drawer, Input, Sheet, Textarea, and Toggle components to enhance UI flexibility and styling options in ShellUI.Components.
…ve structure; introduce Dialog, Card, and Tabs components with enhanced styling and functionality in ShellUI.Components.
…oject version to 0.1.0; include System.Linq.Dynamic.Core package for enhanced functionality.
…roj to reflect recent changes and align with the overall versioning strategy.
…oj; refactor InitService to clear status displays and streamline TailwindDownloader for improved download handling.
…ude button variants, card elements, and dialog components in the ComponentRegistry for enhanced functionality.
…DME.md; reflect changes in component readiness and installation instructions.
….0 release; include major architectural changes and Tailwind CSS upgrade to v4.1.17.
…Badge, DataTable, and Toggle components; enhance styling and functionality with updated dependencies and improved structure.
…ontent for Avatar, Badge, Alert, and Toggle components, enhancing UI flexibility and functionality.
…ts, enhance initialization options with Tailwind method selection, and improve non-interactive mode support.
…nd functionality, including Shell utility for class name management, and update existing components to utilize new class structures.
…ng stability and correctness of initialization and component addition processes.
…loyment processes using GitHub Actions, enhancing project integration and delivery.
…ew components, enhance installation instructions for ShellUI CLI and Components, and introduce a new theme CSS file for improved styling and customization.
…lect the new repository URL for shellui-dev, ensuring consistency and accuracy in references.
…tion, adding support for installing Shell utilities and enhancing the setup process in the CLI.
…shell utilities, enhancing UI component management and organization.
…ponents, and Core, streamlining package metadata.
…, streamlining metadata for consistency and clarity.
…Directory.Build.props, enhancing version management and consistency across components.
…ellUI projects, ensuring consistent branding and ownership.
…s for ShellUI, enhancing version management and streamlining the release process across components.
Contributor
Author
|
lgtm 🚀 |
4 tasks
Shewart
added a commit
that referenced
this pull request
Jun 19, 2026
## Summary
First branch of the 0.4 cycle. Bumps every TargetFramework from `net9.0`
→ `net10.0`, renames the demo folder `NET9/` → `NET10/`, migrates the
solution to the new `.slnx` XML format, removes the
`EnableStaticWebAssetsCompression=false` workaround (the .NET 10 SDK
fixed the underlying bug), and bumps the centralized version to
`0.4.0-alpha.1`.
Single-target `net10.0` for simplicity. `net9.0` STS reaches EOL this
month; `net8.0` LTS users can stay on the `0.3.x` line until they
upgrade. If enterprise demand justifies it later, we can multi-target
`net8.0;net10.0` in a follow-up before 1.0.
C# 14 modernization (`field` keyword, partial constructors, extension
members, etc.) is intentionally **not** in this branch — it'll get its
own dedicated `chore/csharp14-sweep` branch later so the diff is
reviewable.
## Changes
### Framework + tooling
- `global.json` — SDK pin `9.0.100` → `10.0.100`
- `Directory.Build.props` — `0.3.0-rc.1` → `0.4.0-alpha.1`
- All 5 first-party `.csproj`s (`Core`, `Templates`, `CLI`,
`Components`, `Tests`) — `<TargetFramework>net9.0</TargetFramework>` →
`net10.0`
- Both demo `.csproj`s (`BlazorInteractiveServer`, `ShellUI.Preview`) —
same TFM bump
- `Microsoft.AspNetCore.Components.Web` package ref `9.0.6` → `10.0.0`
(Components)
- `Microsoft.AspNetCore.Components.WebAssembly` and `.DevServer` `9.0.0`
→ `10.0.0` (Preview)
- `IntegrationTest1.cs` — hardcoded CLI build path `bin/Release/net9.0/`
→ `bin/Release/net10.0/`
### Solution format migration
- `ShellUI.sln` removed, `ShellUI.slnx` generated via `dotnet sln
ShellUI.sln migrate`. Cleaner XML, much more diffable, no copy-paste
risk:
```xml
<Solution>
<Configurations>
<Platform Name="Any CPU" />
<Platform Name="x64" />
<Platform Name="x86" />
</Configurations>
<Folder Name="/src/">
<Project Path="src/ShellUI.CLI/ShellUI.CLI.csproj" />
<Project Path="src/ShellUI.Components/ShellUI.Components.csproj" />
<Project Path="src/ShellUI.Core/ShellUI.Core.csproj" />
<Project Path="src/ShellUI.Templates/ShellUI.Templates.csproj" />
</Folder>
<Project Path="ShellUI.Tests/ShellUI.Tests.csproj" />
</Solution>
```
- All CI workflow `dotnet restore|build|test|pack ShellUI.sln`
invocations updated to `ShellUI.slnx`
### Demo folder rename
- `NET9/` → `NET10/` (`git mv`, preserves history per the rename
detector). Updated the preview-pages workflow path filters and publish
step accordingly.
### .NET 10 SDK fixed our workaround
- `ShellUI.Components.csproj` —
`<EnableStaticWebAssetsCompression>false</EnableStaticWebAssetsCompression>`
and the `<StaticWebAssetsBuildMode>` line are gone. The original comment
said "(.NET 10 SDK bug workaround)" — confirmed by `dotnet pack` working
clean without them.
### CI workflows
- `.github/workflows/ci.yml` — `dotnet-version: 9.0.x` → `10.0.x`,
`.sln` → `.slnx`
- `.github/workflows/release.yml` — same
- `.github/workflows/preview-pages.yml` — same +
`NET9/ShellUI.Preview/**` path filter → `NET10/ShellUI.Preview/**`
### Docs
- `docs/PROJECT_STATUS.md` — prerequisite `.NET 9.0 SDK` → `.NET 10.0
SDK`, demo path `NET9/BlazorInteractiveServer` → `NET10/`, "Key Decision
#4" rewritten to explain why .NET 10 single-target instead of
multi-target
- `docs/ARCHITECTURE.md` — `NET9/` → `NET10/`
- `docs/tailwind-setup.md` — `.NET 9.0 SDK` → `.NET 10.0 SDK`
## Verification
- `dotnet restore ShellUI.slnx` — clean, all packages resolved on .NET
10
- `dotnet build ShellUI.slnx -c Release` — clean (0 errors, 0 warnings),
packages emitted as `0.4.0-alpha.1.nupkg`
- `dotnet test ShellUI.Tests` — **51/51 unit tests passing on
`net10.0`** (skipping the 2 slow CLI integration tests that need
scaffolded projects — those will run in the CI smoke step)
- `dotnet pack src/ShellUI.Components` without the workaround — clean
pack succeeds; confirms .NET 10 SDK fixed the bug
## Test plan
- [ ] CI green on .NET 10 — build, all unit tests, end-to-end smoke
(scaffold + `shellui init` + `shellui add chart pie-chart dashboard-02
data-table` + `dotnet build` on a real `dotnet new blazor` template)
- [ ] Local: `dotnet new blazor` (which now generates a .NET 10 project)
+ install the prerelease CLI tool from this branch's pack + `shellui
init` + `shellui add` — confirm it still works end-to-end against the
new template
- [ ] Local: open `ShellUI.slnx` in VS 2022 17.10+ and confirm the
solution loads correctly
- [ ] Verify `Blazor-ApexCharts 6.0.2` and `System.Linq.Dynamic.Core
1.7.1` work on .NET 10 (they multi-target down to
`net6.0`/`netstandard2.0`, so they should be fine via roll-forward — the
build success above already proves the resolver picks them up)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.